from functools import wraps
from flask import g, redirect, url_for


# 自定义登录验证装饰器
def login_required(func):
    # 保留func的信息
    @wraps(func)
    # inner函数为装饰器主要功能 , 参数为万能参数
    def inner(*args, **kwargs):
        # 如果登录了，就继续执行被装饰器包装的函数
        if g.user:
            return func(*args, **kwargs)
        else:
            return redirect(url_for('auth.login'))

    return inner
